Retrieve Flow Details
Retrieving Flow Details:
This request will return a single Flow's details. By default, it will return the fields: id, name, status, categories, validation_errors. You can request other fields by using the fields parameter in the request. The request example below includes all possible fields.
- UAT BASE-URL- https://apiuat.aclwhatsapp.com/access-api/v1/wa
- Production BASE-URL- https://api.aclwhatsapp.com/access-api/v1/wa
Request Type: GET
Sample Request
curl '{BASE-URL}/{FLOW-ID}?fields=id,name,categories,preview,status,validation_errors,json_version,data_api_version,endpoint_uri,whatsapp_business_account,application,health_status' \
--header 'Authorization: Bearer {ACCESS-TOKEN}'
Sample Response
{
"id": "<Flow-ID>",
"name": "<Flow-Name>",
"status": "DRAFT",
"categories": [ "LEAD_GENERATION" ],
"validation_errors": [],
"json_version": "5.0",
"data_api_version": "3.0",
"endpoint_uri": "https://example.com",
"preview": {
"preview_url": "https://business.facebook.com/wa/manage/flows/55000..../preview/?token=b9d6.....",
"expires_at": "2025-06-12T12:10:24+0000"
},
"whatsapp_business_account": {
...
},
"application": {
...
},
"health_status": {
"can_send_message": "BLOCKED",
"entities": [
{
"entity_type": "FLOW",
"id": "<Flow-ID>",
"can_send_message": "BLOCKED",
"errors": [
{
"error_code": 131000,
"error_description": "endpoint_uri: You need to set the endpoint URI before you can send or publish a flow.",
"possible_solution": "https://developers.facebook.com/docs/whatsapp/flows/reference/flowjson#top-level-flow-json-properties"
},
{
"error_code": 131000,
"error_description": "app_check: You need to connect a Meta app to the flow before you can send or publish it.",
"possible_solution": "https://developers.facebook.com/docs/development/create-an-app"
}
]
},
{
"entity_type": "WABA",
"id": "<WABA-ID>",
"can_send_message": "AVAILABLE"
},
{
"entity_type": "BUSINESS",
"id": "<Business-ID>",
"can_send_message": "AVAILABLE"
},
{
"entity_type": "APP",
"id": "<App-ID>",
"can_send_message": "LIMITED",
"additional_info": [
"Your app is not subscribed to the message webhook. This means you will not receive any messages sent to your phone number."
]
}
]
}
}
Field | Description | JSON Type | Returned by default |
---|---|---|---|
id | The unique ID of the Flow. | string | ✓ |
name | The user-defined name of the Flow which is not visible to users. | string | ✓ |
status | DRAFT: This is the initial status. The Flow is still under development. The Flow can only be sent with "mode": "draft" for testing. PUBLISHED: The Flow has been marked as published by the developer, so it can now be sent to customers. This Flow can not be deleted or updated afterwards. DEPRECATED: The developer has marked the flow as deprecated (since it can not be deleted after publishing). This prevents sending and opening the Flow, allowing the developer to retire their endpoint. Deprecated Flows can not be deleted or undeprecated. BLOCKED: Monitoring detected that the endpoint is unhealthy and set the status to Blocked. The Flow can not be sent or opened in this state. the developer needs to fix the endpoint to return it to the Published state. THROTTLED: Monitoring detected that the endpoint is unhealthy and set the status to Throttled. Flows with throttled status can be opened, however only 10 messages of the Flow can be sent per hour. The developer needs to fix the endpoint to return it to the PUBLISHED state. | string | ✓ |
categories | A list of flow categories. | array | ✓ |
validation_errors | A list of errors in the Flow. All errors must be fixed before the Flow can be published. | array | ✓ |
json_version | The version specified by the developer in the Flow JSON asset uploaded. | string | |
data_api_version | The version of the Data API specified by the developer in the Flow JSON asset uploaded. Only for Flows with an endpoint. | string | |
data_channel_uri | [DEPRECATED in API v19.0 ] Use endpoint_uri field instead. The URL of the WA Flow Endpoint specified by the developer via API or in the Builder UI. | string | |
endpoint_uri | The URL of the WA Flow Endpoint specified by the developer via API or in the Builder UI. | string | |
preview | The URL to the web preview page to visualize the flow and its expiry time. | object | |
whatsapp_business_account | The WhatsApp Business Account which owns the Flow. | object | |
application | The Facebook developer application used to initially create the Flow. | object | |
health_status | A summary of the Flow's health status. When you attempt to send a Flow, multiple nodes are involved, including the app, the business portfolio that owns or has claimed it, a WABA and Flow. Each of these nodes can have one of the following health statuses assigned to the can_send_message property: -AVAILABLE: Indicates that the node meets all requirements. -LIMITED: Indicates that the node meets requirements, but has some limitations. If a given node has this value, additional information will be included. -BLOCKED: Indicates that the node does not meet one or more messaging requirements. If a given node has this value, the errors property will be included which describes the error and a possible solution. Flow node The Flow node will have the can_send_message property set to: -LIMITED: If published Flow is in THROTTLED state. -BLOCKED: If the unpublished Flow has one of the the publishing checks failing, or If the published Flow is in BLOCKED or DEPRECATED state. | object |
Retrieving a Flow's List of Assets:
This request returns all assets attached to a specified Flow.
- UAT BASE-URL- https://apiuat.aclwhatsapp.com/access-api/v1/wa
- Production BASE-URL- https://api.aclwhatsapp.com/access-api/v1/wa
Request Type: GET
Sample Request
curl '{BASE-URL}/{FLOW-ID}/assets' \
--header 'Authorization: Bearer {ACCESS-TOKEN}'
Sample Response
{
"data": [
{
"name": "flow.json",
"asset_type": "FLOW_JSON",
"download_url": "https://scontent.xx.fbcdn.net/m1/v/t0.57323-24/An_Hq0jnfJ..."
}
],
"paging": {
"cursors": {
"before": "QVFIU...",
"after": "QVFIU..."
}
}
}